package com.xssn.fjnd.contend.vodtest;

import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.profile.DefaultProfile;
import com.aliyuncs.vod.model.v20170321.AddVodTemplateRequest;
import com.aliyuncs.vod.model.v20170321.AddVodTemplateResponse;


/**
 * 说明：
 * 1. 本Demo为创建首帧截图模板示例，截图输出为 1 张图片。
 * 2. 推荐使用视频点播控制台创建截图模板，更加方便快捷。
 */
public class AddSnapshotTemplate {

    // 阿里云账号AccessKey拥有所有API的访问权限，建议您使用RAM用户进行API访问或日常运维。
    // 强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里，否则可能导致AccessKey泄露，威胁您账号下所有资源的安全。
    // 本示例通过从环境变量中读取AccessKey，来实现API访问的身份验证。运行代码示例前，请配置环境变量ALIBABA_CLOUD_ACCESS_KEY_ID和ALIBABA_CLOUD_ACCESS_KEY_SECRET。
    public static String accessKeyId = "LTAI5t8dyprRRh5rzP6kWuVc";
    public static String accessKeySecret = "8a1sYYmB1ctaLblN0XEIgi4NUS9EVX";

    public static void main(String[] args) {

        try{
            DefaultAcsClient vodClient = initVodClient(accessKeyId, accessKeySecret);
            AddVodTemplateResponse response = addSnapshotTemplate(vodClient);
            System.out.println("RequestId is:" + response.getRequestId());
            System.out.println("TemplateId is:" + response.getVodTemplateId());
        }catch (Exception e){

        }
    }

    public static AddVodTemplateResponse addSnapshotTemplate(DefaultAcsClient vodClient) throws ClientException {
        AddVodTemplateRequest request = new AddVodTemplateRequest();
        request.setName("首帧截图模板");
        request.setTemplateType("Snapshot");
        request.setTemplateConfig("{\"SnapshotType\":\"NormalSnapshot\",\"SnapshotConfig\":{\"FrameType\":\"normal\",\"Count\":1,\"Interval\":1,\"SpecifiedOffsetTime\":0}}");

        return vodClient.getAcsResponse(request);
    }

    public static DefaultAcsClient initVodClient(String accessKeyId, String accessKeySecret) throws ClientException {
        // 点播服务接入区域
        String regionId = "cn-shanghai";
        DefaultProfile profile = DefaultProfile.getProfile(regionId, accessKeyId, accessKeySecret);
        DefaultAcsClient client = new DefaultAcsClient(profile);

        return client;
    }
}